Packvorschlag im Kundenauftrag bearbeiten
Mit diesem Coding bearbeiten Sie den Packvorschlag im Kundenauftrag. Die erzeugten HU-Nummern werden dem Auftrag durch den Belegfluss zugeordnet. Deswegen muss nach der Bearbeitung auch der Belegfluss des Auftrags angepasst werden.
Geben Sie bei diesem Programm die Nummer des Vertriebsbeleges an und Sie können den Packvorschlag bearbeiten.
Soll der Packvorschlag lediglich angezeigt werden, so muss dem Baustein HU_PACKING_SALES_PROPOSAL der Parameter IF_ANZEIGEMODUS = ‘A’ mitgegeben werden.
Coding
*&———————————————————————*
*& Report ZSD_PACKVORSCHLAG_DEMO
*& Aufruf des Dialoges “Packvorschlag” zum Kundenauftrag
*&———————————————————————*
REPORT zsd_hu_packvorschlag_demo.
TYPE-POOLS: vsep, vse.
*** Variablen
DATA:
gs_vbak TYPE vbak,
gt_xvbap TYPE vse_t_vbap,
gt_yvbap TYPE vse_t_vbap,
gt_xvbpa TYPE vsep_t_vbpa,
gt_xvbkd TYPE va_vbkdvb_t,
gt_xvbfa TYPE vse_t_vbfa,
gt_yvbfa TYPE vse_t_vbfa,
gs_xvbfa TYPE vbfavb,
gt_xvbapf TYPE vse_t_vbapf,
gs_object TYPE hum_object,
gt_headers TYPE hum_hu_header_t,
gs_header TYPE vekpvb,
gt_items TYPE hum_hu_item_t,
gs_item TYPE vepovb,
gv_data_changed TYPE c,
gv_fcode TYPE syucomm.
*** Selektionsbild: Kundenauftrag
PARAMETERS: p_vbeln TYPE vbeln.
START-OF-SELECTION.
*** Auftragsdaten lesen
SELECT SINGLE * FROM vbak INTO gs_vbak WHERE vbeln = p_vbeln.
IF sy-subrc = 0.
*** Auftrag vorhanden: Sperren
CALL FUNCTION ‘ENQUEUE_EVVBAKE’
EXPORTING
mode_vbak = ‘E’
vbeln = p_vbeln
EXCEPTIONS
foreign_lock = 1
system_failure = 2
OTHERS = 3.
IF sy-subrc <> 0.
*** Falls nicht gesperrt werden konnte: Info-Meldung
MESSAGE ID sy-msgid TYPE ‘I’ NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
*** Beleg wird zurzeit nicht bearbeitet: Daten lesen
SELECT * FROM vbkd INTO TABLE gt_xvbkd WHERE vbeln = p_vbeln.
SELECT * FROM vbap INTO TABLE gt_xvbap WHERE vbeln = p_vbeln.
SELECT * FROM vbfa INTO TABLE gt_xvbfa WHERE vbelv = p_vbeln
AND vbtyp_n = ‘X’. “HU
*** Aufruf des Dialoges “Packvorschlag”
CALL FUNCTION ‘HU_PACKING_SALES_PROPOSAL’
EXPORTING
if_anzeigemodus = ‘V’ “Ändern
if_dunkel = space
if_profile = ‘0012’
is_vbak = gs_vbak
it_xvbap = gt_xvbap[]
it_xvbpa = gt_xvbpa[]
it_xvbkd = gt_xvbkd[]
IMPORTING
ef_data_changed = gv_data_changed
ef_fcode = gv_fcode
CHANGING
ct_xvbfa = gt_xvbfa[]
ct_yvbfa = gt_yvbfa[]
ct_xvbapf = gt_xvbapf[].
*** Rückmeldung aus “Packvorschlag”
WRITE: / ‘Call_Packing: ‘,
/ ‘- Data changed: ‘, gv_data_changed COLOR COL_TOTAL,
/ ‘- Function code:’, gv_fcode COLOR COL_TOTAL.
IF gv_fcode = ‘SICH’.
*** Wenn gesichert werden soll, dies auch tun:
*** Belegfluss anreichern mit den HU’s
CALL FUNCTION ‘RV_DOCUMENT_FLOW_UPDATE’
EXPORTING
f_struktur = ‘VBAP’
f_vbeln = p_vbeln
f_test = ‘ ‘
f_check = ‘X’
TABLES
fxtabl = gt_xvbap
fxvbfa = gt_xvbfa
fytabl = gt_yvbap
fyvbfa = gt_yvbfa.
***HU-Daten sichern
CALL FUNCTION ‘HU_PACKING_UPDATE’
EXPORTING
if_synchron = ‘X’.
ENDIF.
*** Protokoll der HU’s im Kundenauftrag
WRITE: / ‘Handling Units:’.
LOOP AT gt_xvbfa INTO gs_xvbfa
WHERE vbtyp_n = ‘X’
AND updkz <> ‘D’.
WRITE: / gs_xvbfa-vbeln.
ENDLOOP.
ENDIF. “SELECT VBAK
ENDIF. “ENQUEUE
- Interview mit Björn Schulz (Software-Heroes.com) - 3. September 2024
- Daten aus ALV ermitteln - 3. September 2024
- So lange es den SAPGUI noch gibt… - 27. Juni 2024